﻿using System.Diagnostics;

namespace PrimeNumber
{
    /// <summary>
    /// 计算不超过用户输入内容的最大质数
    /// </summary>
    internal class Program
    {
        static void Main(string[] args)
        {
            //计算程序运行时间
            Stopwatch sw=new Stopwatch();
            sw.Start();
            //提示让用户输入一个自然数
            Console.WriteLine("Please enter a natual number:");
            //用变量num承载用户所输入的自然数
            int num=Convert.ToInt32(Console.ReadLine());
            //输出用户所输入的自然数
            Console.WriteLine("You enter a natural number:{0}",num);  
            //用for循环寻找比num小的数
            for(int i=num;i>0;i--)
            {
                //定义bool类型的变量anwer
                bool answer = true;
                //用for循环实现因数j的递增
                for (int j=2;j<i;j++)
                {
                    //如果i被j整除则跳出if循环，直到试完所有的因数j
                    if(i%j==0)
                    {
                        answer=false; 
                        break;
                    }
                    else
                    {
                        answer=true;
                    }
                }
                //如果找到数i没有被所有的因数j整除，则代表已经找到最大的质数
                if (answer == true)
                {
                    Console.WriteLine($"The biggest prime number is:{i}");
                    break;
                }               
            }
            sw.Stop();
            TimeSpan ts=sw.Elapsed;
            double seconds=ts.TotalSeconds;
            Console.WriteLine($"The time:{seconds}");
        }
    }
}